Atualmente no cenário político, a forma mais simples e acessível para os deputados e senadores conquistarem a confiança do eleitorado brasileiro é através dos meios comunicação por serem geralmente ambientes de lazer, gratuitos e informais.
O Twitter, especificamente, é um ambiente com fácil coletada de dados decorrente da simplicidade da interface, além de ser um meio de comunicação que está ligado à grandes polémicas do atual cenário político. Sabendo disso, mostra-se relevante entender melhor, através análises e visualizações de dados, o comportamento do nosso atual Congresso Nacional brasileiro nesse meio.
1.1 - Quais são os 10 partidos mais ativos no Twitter
1.2 - Quais os partidos mais populares do Twitter?
2.1 - Qual a casa mais ativa?
2.2 - Quais são os políticos mais ativos de cada casa?
Para as análises apresentadas a seguir, foram utilizadas as bibliotecas tidyverse, ggplot2 e dplyr. Os dados usados para essa análise, foram:
glimpse(atividade)
## Observations: 608
## Variables: 19
## $ id_parlamentar <chr> "204554", "204521", "204379", "204560", "2…
## $ casa <chr> "câmara", "câmara", "câmara", "câmara", "c…
## $ nome_eleitoral <chr> "ABÍLIO SANTANA", "ABOU ANNI", "ACÁCIO FAV…
## $ partido <chr> "PR", "PSL", "PROS", "PSDB", "NOVO", "PP",…
## $ UF <chr> "BA", "SP", "AP", "BA", "SP", "GO", "MG", …
## $ twitter <chr> "AbilioSantana_", "abouannipv", "FavachoAc…
## $ seguidores <dbl> NA, NA, NA, NA, 4652, NA, NA, NA, NA, NA, …
## $ segue <dbl> NA, NA, NA, NA, 315, NA, NA, NA, NA, NA, N…
## $ n_proprio <dbl> 0, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, NA, 4…
## $ n_retweet <dbl> 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, NA, 1,…
## $ engaj_total <dbl> 0, 0, 0, 0, 7090, 0, 0, 0, 0, 0, 0, 0, NA,…
## $ engaj_total_proprio <dbl> 0, 0, 0, 0, 6701, 0, 0, 0, 0, 0, 0, 0, NA,…
## $ engaj_total_retweet <dbl> 0, 0, 0, 0, 389, 0, 0, 0, 0, 0, 0, 0, NA, …
## $ engaj_mediano <dbl> 0.0, 0.0, 0.0, 0.0, 26.5, 0.0, 0.0, 0.0, 0…
## $ engaj_mediano_proprio <dbl> 0.0, 0.0, 0.0, 0.0, 22.5, 0.0, 0.0, 0.0, 0…
## $ engaj_mediano_retweet <dbl> 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.…
## $ engaj_max <dbl> 0, 0, 0, 0, 1031, 0, 0, 0, 0, 0, 0, 0, NA,…
## $ engaj_max_proprio <dbl> 0, 0, 0, 0, 1031, 0, 0, 0, 0, 0, 0, 0, NA,…
## $ engaj_max_retweet <dbl> 0, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, NA, 4…
A métrica escolhida para contabilizar os 10 partidos mais ativos no Twitter foi a soma do número de tweets e retweets de cada político. Tendo conhecimento que, grande parte de cada casa é composta por políticos do mesmo partido e que existem muitos outliers, decidiu-se utilizar a soma das medianas para definir qual partido é mais ativo.
dados1 = atividade %>%
group_by(partido) %>%
summarise(participacao = median(n_retweet, na.rm = TRUE) + median(n_proprio, na.rm = TRUE), n_retweet=median(n_retweet, na.rm = TRUE), n_proprio = median(n_proprio, na.rm = TRUE)) %>%
top_n(10, participacao)
vis1 = dados1 %>%
ggplot(aes(x= reorder(partido, participacao), y= participacao,fill = partido, alpha = .4, text = paste("Partido:", partido, "<br>Número de tweets:", n_proprio, "<br>Número de retweets:", n_retweet))) +
geom_col(show.legend = FALSE) +
xlab("Partido") +
ylab("Participação") +
ggtitle("10 partidos mais ativos") +
coord_flip() +
scale_fill_brewer(palette = "Set3")
ggplotly(vis1, tooltip = c("text"))
Através da visualização, ficou claro que o partido que é constantemente mais ativo no twitter, é o PSOL.
Diante do questionamento anterior, mostrou-se relevante definir a popularidade dos partidos políticos para tentar explicar porque alguns partidos são tão mais ativos que outros. Para isso, usou-se as medianas de quem segue e de quem é seguido pelo político.
dados1_2_1 = atividade %>%
group_by(partido) %>%
filter(partido != "S/Partido") %>%
summarise(n = median(seguidores, na.rm = TRUE), tipo = "seguidores")
dados1_2_2 = atividade %>%
group_by(partido) %>%
filter(partido != "S/Partido") %>%
summarise(n = median(segue, na.rm = TRUE), tipo = "segue")
dados1_2 = rbind(dados1_2_1, dados1_2_2) %>%
filter(!is.na(n))
vis1_2 = dados1_2 %>%
ggplot(mapping = aes(x = partido, y = n, color = tipo, alpha = .4, text = paste ("Tipo:", tipo, "<br>Quantidade:", n))) +
geom_point() +
scale_y_continuous(label=scales::comma) +
ylab("Número de seguidores/seguindo") +
xlab("Paritdo") +
ggtitle("Partidos por quem segue e seguidores") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
ggplotly(vis1_2, tooltip = c("text"))
Com o gráfico de pontos, foi possível perceber um resultado bem diferente resultado do PSOL em relação aos outros partidos político em questão quantidade de seguidores.
Considerando que a Câmara de Deputados tem 513 mais pessoas e que no senado federal tem 81, foi utilizado a soma das medianas do número de retweets e de tweets, em vez de considerar a soma do somatório do número de retweets e tweets.
dados2 =
atividade %>%
group_by(casa) %>%
na.omit(engaj_mediano) %>%
summarise(participacao = median(n_retweet, na.rm = TRUE) + median(n_proprio, na.rm = TRUE), n_retweet=median(n_retweet, na.rm = TRUE), n_proprio = median(n_proprio, na.rm = TRUE))
vis2 = dados2 %>%
ggplot(aes(x= casa, y= participacao, fill = casa, alpha = .4, text = paste("Casa:", casa, "<br>Número de tweets:", n_proprio, "<br>Número de retweets:", n_retweet))) +
geom_col(show.legend = FALSE) +
xlab("Participação") +
ylab("Casa") +
ggtitle("Mediana da participação dos políticos por casa") +
scale_fill_brewer(palette = "Dark2")
ggplotly(vis2, tooltip = "text")
Perante a visualização, foi possível perceber que apesar dos números brutos a câmara mais tweets e retweets, proporcionalmente o senado é mais ativo.
Para definir cada político mais ativo em cada casa, diferente das outras análises, foram utilizados números brutos, já que estamos trabalhando com cada deputado/senador por vez, tornando-se assim, desnecessário fazer somatórios, médias ou medianas.
dados2_2_1 = atividade %>%
mutate(participacao = n_retweet + n_proprio, na.rm = TRUE) %>%
filter(casa == "câmara") %>%
top_n(10, participacao)
vis2_2_1 = dados2_2_1 %>%
ggplot(aes(x= reorder(nome_eleitoral,participacao), y= participacao,fill = nome_eleitoral, alpha = .4, text = paste("Casa:", casa, "<br>Número de tweets:", n_proprio, "<br>Número de retweets:", n_retweet))) +
geom_col(show.legend = FALSE) +
coord_flip() +
scale_fill_brewer(palette = "Set3")
dados2_2_2 = atividade %>%
mutate(participacao = n_retweet + n_proprio, na.rm = TRUE) %>%
filter(casa == "senado") %>%
top_n(10, participacao)
vis2_2_2 = dados2_2_2 %>%
ggplot(aes(x= reorder(nome_eleitoral,participacao), y= participacao,fill = nome_eleitoral, alpha = .4, text = paste("Casa:", casa, "<br>Número de tweets:", n_proprio, "<br>Número de retweets:", n_retweet))) +
geom_col(show.legend = FALSE) +
ggtitle("10 políticos mais ativos") +
coord_flip() +
scale_fill_brewer(palette = "Set3")
subplot(ggplotly(vis2_2_1, tooltip = c("text")), ggplotly(vis2_2_2, tooltip = c("text")), nrows = 2)
Perante os gráficos, foi possível perceber que tanto Bacelar, na Câmara de deputados, quanto Álvaro Dias, Humberto Costa, Jorge Kajuru e Lasier Martins, no Senado Federal, são muito mais ativos que os demais.